﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace sdk_cop
{
    public abstract class AbstractIcbcRequest<T> where T:IcbcResponse
    {
        private string serviceUrl;
        public string getServiceUrl ()
        {
            return serviceUrl;
        }
        public void setServiceUrl(string value) 
        {
            serviceUrl = value;
        }
        private BizContent bizContent;
        public BizContent getBizContent()
        {
            return bizContent;
        }
        public void setBizContent(BizContent value)
        {
            bizContent = value;
        }
        
        private Dictionary<string, string> extraParams = new Dictionary<string, string>();

        public Dictionary<string, string> getExtraParams() {
                return extraParams;
        }

        abstract public Type getResponseClass();
        abstract public Boolean isNeedEncrypt();
        abstract public Type getBizContentClass();
//        abstract public Dictionary<string, string> getExtraParameters();


        /**
         * @return POST or GET
         */
        abstract public string getMethod();
    }
}
